package com.hlkj.baojin.entity.dto;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;
import org.springframework.data.annotation.Id;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import java.util.List;

/**
 * @author HULIN
 * @created with: baojin
 * @package com.hlkj.baojin.entity.dto
 * @description:
 * @date 2018/12/17 14:21
 * @modified By:
 * @Copyright © 2018 HAILIANG Info. Tech Ltd. All rights reserved.
 */
@ApiModel
@Getter
@Setter
public class DeviceDto {

    @ApiModelProperty(value = "主键id(更新及查看时使用)")
    private String id;

    /**
     * 所属企业
     */
    @NotBlank(message = "所属企业不能为空")
    @ApiModelProperty(value = "所属企业")
    private String belongCompany;

    @ApiModelProperty(value = "所属企业名称(返回时使用)")
    private String belongCompanyName;

    /**
     * 厂区
     */
    @NotBlank(message = "厂区不能为空")
    @ApiModelProperty(value = "厂区")
    private String companyArea;

    @ApiModelProperty(value = "厂区名称(返回时使用)")
    private String companyAreaName;

    /**
     * 监控对象
     */
    @NotBlank(message = "监控对象不能为空")
    @ApiModelProperty(value = "监控对象")
    private String monitorObject;

    /**
     * 监控物品
     */
    @NotBlank(message = "监控物品不能为空")
    @ApiModelProperty(value = "监控物品")
    private String monitorArticle;

    /**
     * 设备类型
     */
    @NotNull(message = "设备类型不能为空")
    @ApiModelProperty(value = "设备类型 0.储量 1.温度 2.泄漏量 3.液位")
    private Integer monitorType;

    /**
     * 安全值下限
     */
    @ApiModelProperty(value = "安全值下限")
    private Double safeValueDown;

    /**
     * 安全值上线
     */
    @ApiModelProperty(value = "安全值上限")
    private Double getSafeValueUp;


    /**
     * 预警值下限
     */
    @ApiModelProperty(value = "预警值下限")
    private Double earlyAlarmValueDown;

    /**
     * 预警值上限
     */
    @ApiModelProperty(value = "预警值上限")
    private Double earlyAlarmValueUp;

    /**
     * 索引编号
     */
    @NotBlank(message = "索引编号不能为空")
    @ApiModelProperty(value = "索引编号")
    private String indexNum;

    /**
     * 技术说明书
     */
    @NotEmpty(message = "技术说明书不能为空")
    @ApiModelProperty(value = "技术说明书")
    private List<String> techManual;

    /**
     * 应急方案
     */
    @ApiModelProperty(value = "应急方案")
    private List<String> emergencyPlan;

    /**
     * 备注
     */
    @ApiModelProperty(value = "备注")
    private String remark;

    /**
     * 状态 0:使用中, 1:故障
     */
    @ApiModelProperty(value = "状态 0:使用中, 1:故障(返回时使用)")
    private Integer status;

    @ApiModelProperty(value = "监控")
    private List<MonitorDto> monitorDtoList;

    /**
     * 创建时间
     */
    @ApiModelProperty(value = "创建时间(返回时使用)")
    private Long createTime;


    public DeviceDto() {
        super();
    }
}
